1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect.testing.testers;
18
19 import static com.google.common.collect.testing.features.CollectionSize.ZERO;
20 import static com.google.common.collect.testing.features.MapFeature.ALLOWS_NULL_KEYS;
21 import static com.google.common.collect.testing.features.MapFeature.ALLOWS_NULL_KEY_QUERIES;
22
23 import com.google.common.annotations.GwtCompatible;
24 import com.google.common.collect.testing.AbstractMapTester;
25 import com.google.common.collect.testing.WrongType;
26 import com.google.common.collect.testing.features.CollectionSize;
27 import com.google.common.collect.testing.features.MapFeature;
28
29
30
31
32
33
34
35
36
37 @GwtCompatible
38 public class MapGetTester<K, V> extends AbstractMapTester<K, V> {
39 @CollectionSize.Require(absent = ZERO)
40 public void testGet_yes() {
41 assertEquals("get(present) should return the associated value",
42 samples.e0.getValue(), get(samples.e0.getKey()));
43 }
44
45 public void testGet_no() {
46 assertNull("get(notPresent) should return null", get(samples.e3.getKey()));
47 }
48
49 @MapFeature.Require(ALLOWS_NULL_KEY_QUERIES)
50 public void testGet_nullNotContainedButAllowed() {
51 assertNull("get(null) should return null", get(null));
52 }
53
54 @MapFeature.Require(absent = ALLOWS_NULL_KEY_QUERIES)
55 public void testGet_nullNotContainedAndUnsupported() {
56 try {
57 assertNull("get(null) should return null or throw", get(null));
58 } catch (NullPointerException tolerated) {
59 }
60 }
61
62 @MapFeature.Require(ALLOWS_NULL_KEYS)
63 @CollectionSize.Require(absent = ZERO)
64 public void testGet_nonNullWhenNullContained() {
65 initMapWithNullKey();
66 assertNull("get(notPresent) should return null", get(samples.e3.getKey()));
67 }
68
69 @MapFeature.Require(ALLOWS_NULL_KEYS)
70 @CollectionSize.Require(absent = ZERO)
71 public void testGet_nullContained() {
72 initMapWithNullKey();
73 assertEquals("get(null) should return the associated value",
74 getValueForNullKey(), get(null));
75 }
76
77 public void testGet_wrongType() {
78 try {
79 assertNull("get(wrongType) should return null or throw",
80 getMap().get(WrongType.VALUE));
81 } catch (ClassCastException tolerated) {
82 }
83 }
84 }